#ifndef MINI_ENGINE_INITWINDOW
#define MINI_ENGINE_INITWINDOW
#include <GLFW/glfw3.h>
#include <iostream>
#include <vulkan/vulkan.hpp>
#include "SwapChain.h"
#include "LogicalDevice.h"
#include "Command.h"
#include "FrameBufferPick.h"
using namespace std;

namespace mini_engine
{
    class InitWindow
    {
    private:
        InitWindow();
        static InitWindow *m_initWindow;
        class InitWindowDestruction
        {
        public:
            ~InitWindowDestruction();
        };

    public:
        static uint32_t WIDTH;
        static uint32_t HEIGHT;
        static GLFWwindow *window;
        static InitWindow *getInitWindow();
        void createWindow();
        static void mouse_callback(GLFWwindow* window,int button,int action,int mods);
        ~InitWindow();
    };
}

#endif